Method and apparatus for implementing multi-person video live-streaming service, and computer device

ABSTRACT

The present application discloses techniques of implementing a multi-person video live streaming service. The techniques comprise obtaining a first video and a second video of a live streamer, and obtaining a third video of any other live streaming member than the live streamer in a live streaming group; stitching the first video, the second video, and the third video of the any other live streaming member, for obtaining a multi-person live video stream; and sending the multi-person live video stream to respective live streaming clients associated with members in the live streaming group for the members to watch. The present application can increase the modes of interaction of live streaming members, thereby improving the user experience.

CROSS-REFERENCE TO RELATED APPLICATION

The present application claims the priority of the Chinese PatentApplication of Application Number 201911251118.0, filed with theNational Intellectual Property Administration, PRC on Dec. 9, 2019, andentitled “Method and apparatus for implementing multi-person video livestreaming service, and computer device”, which is incorporated herein byreference in its entirety.

TECHNICAL FIELD

The present application relates to the technical field of videoprocessing, and in particular to a method and apparatus for implementinga multi-person video live streaming service, and a computer device.

BACKGROUND

With the rapid development of the live streaming industry, an increasingnumber of users like watching live streaming videos. At present, themode of communication between users in a live streaming group that watcha live streaming video is limited to sending text information (that is,bullet screen comments) on a live streaming page, and live streamingvideos of other users cannot be watched, which results in a single modeof interaction among live streaming users, and thus brings about arelatively poor user experience.

SUMMARY

In view of this, a method and apparatus for implementing a multi-personvideo live streaming service, a computer device, and a computer-readablestorage medium are now provided in order to solve the problem of itbeing unable to watch live streaming videos of other users by usingexisting methods during video live streaming.

The present application provides a method for implementing amulti-person video live streaming service, the method including:

obtaining a first video and a second video of a live streamer, andobtaining a third video of other live streaming members than the livestreamer in a live streaming group, where the first video includes areal-time image acquired by a first camera apparatus of the livestreamer, the second video includes a video that the live streamer iswatching, and the third video includes real-time images acquired bysecond camera apparatuses of the other live streaming members;

stitching the first video, the second video, and the third video of theother live streaming members, for obtaining a multi-person live videostream, where each frame of the multi-person live video stream includesa frame of the first video, a frame of the second video, and a frame ofthe third video of the other live streaming members; and

sending the multi-person live video stream to respective live streamingclients of the live streaming members for the live streaming members towatch.

Optionally, during stitching, facial detection is performed, by using adetection thread, on the first video and the third video of the otherlive streaming members, and after a face is detected, an area of thedetected face is rendered by using a rendering thread.

Optionally, when the second video is a type of dress changing video,synthesizing of each frame of the multi-person live video streamincludes:

determining whether a respective timestamp of a second video frame to besynthesized of the second video is a preset timestamp;

performing facial detection on a first video frame to be synthesized ofthe first video and a third video frame to be synthesized of the thirdvideo of the other live streaming members if the respective timestamp ofthe second video frame to be synthesized of the second video is thepreset timestamp;

adding, upon the detection of a face, a preset sticker special effect tothe detected face to obtain a video frame to be synthesized having thesticker special effect, where no sticker special effect is added to avideo frame to be synthesized with no face detected; and

stitching the second video frame to be synthesized, the video frame tobe synthesized having the sticker special effect, and the video frame tobe synthesized having no sticker special effect, for obtaining a frameof the multi-person live video stream.

Optionally, when the second video is a type of challenge video,synthesizing of each frame of the multi-person live video streamincludes:

performing expression recognition on a first video frame to besynthesized of the first video and a third video frame to be synthesizedof the third video of the other live streaming members;

adding, when a preset expression is recognized, a preset sticker specialeffect to a video frame to be synthesized with the preset expressionrecognized, where no sticker special effect is added to a video frame tobe synthesized with no preset expression recognized; and

stitching the second video frame to be synthesized of the second video,the video frame to be synthesized having the sticker special effect, andthe video frame to be synthesized having no sticker special effect, forobtaining a frame of the multi-person live video stream.

Optionally, when the second video is a type of story guessing video,synthesizing of each frame of the multi-person live video streamincludes:

detecting whether a story guessing message sent by any live streamingmember in the live streaming group is received;

adding the story guessing message to a second video frame to besynthesized of the second video if the story guessing message sent byany live streaming member in the live streaming group is received; and

stitching the second video frame to be synthesized including the storyguessing message, a first video frame to be synthesized of the firstvideo, and a third video frame to be synthesized of the third video ofthe other live streaming members, for obtaining a frame of themulti-person live video stream.

Optionally, the method for implementing a multi-person video livestreaming service further includes:

distributing the multi-person live video stream to a CDN network.

Optionally, the method for implementing a multi-person video livestreaming service further includes:

reducing the bit rate of the multi-person live video stream.

The present application further provides an apparatus for implementing amulti-person video live streaming service, the apparatus including:

an obtaining module configured to obtain a first video and a secondvideo of a live streamer, and obtain a third video of other livestreaming members than the live streamer in a live streaming group,where the first video includes a real-time image acquired by a firstcamera apparatus of the live streamer, the second video includes a videothat the live streamer is watching, and the third video includesreal-time images acquired by second camera apparatuses of the other livestreaming members;

a stitching module configured to stitch the first video, the secondvideo, and the third video of the other live streaming members, forobtaining a multi-person live video stream, where each frame of themulti-person live video stream includes a frame of the first video, aframe of the second video, and a frame of the third video of the otherlive streaming members; and

a sending module configured to send the multi-person live video streamto respective live streaming clients of the live streaming members forthe live streaming members to watch.

The present application further provides a computer device, whichincludes a memory, a processor, and computer-readable instructionsstored in the memory and operable on the processor, where upon executingthe computer-readable instructions, the processor implements the stepsof the method described above.

The present application further provides a computer-readable storagemedium having computer-readable instructions stored thereon, where uponthe computer-readable instructions are executed by a processor, thesteps of the method described above are implemented.

The above technical solutions have the beneficial effects as follows.

In the embodiments of the present application, a first video and asecond video of a live streamer are obtained, and a third video of otherlive streaming member than the live streamer in a live streaming groupis obtained; the first video, the second video, and the third video ofthe other live streaming members are stitched, for obtaining amulti-person live video stream; and the multi-person live video streamis sent to respective live streaming clients of the live streamingmembers for the live streaming members to watch. By means of the methodfor implementing a multi-person video live streaming service in theembodiments of the present application, each live streaming member canwatch live streaming video images of all live streaming members in adisplay interface of his/her live streaming client, and each livestreaming member can also watch a video together with a live streamer atthe same time, such that the modes of interaction among live streamingmembers can be increased, thereby improving the user experience.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an architectural diagram of an embodiment of an architecturaldiagram of a system for implementing a multi-person video live streamingservice according to an embodiment of the present application;

FIG. 2 is a flowchart of an embodiment of a method for implementing amulti-person video live streaming service according to the presentapplication;

FIG. 3 is a flowchart of detailed steps of the synthesis of each frameof the multi-person live video stream according to an implementation ofthe present application;

FIG. 4 is a schematic diagram of a frame of a multi-person live videostream that is obtained after stitching according to an implementationof the present application;

FIG. 5 is a schematic diagram of a frame of a multi-person live videostream that is obtained after stitching according to anotherimplementation of the present application;

FIG. 6 is a flowchart of detailed steps of the synthesis of each frameof the multi-person live video stream according to anotherimplementation of the present application;

FIG. 7 is a schematic diagram of a frame of a multi-person live videostream that is obtained after stitching according to anotherimplementation of the present application;

FIG. 8 is a flowchart of detailed steps of the synthesis of each frameof the multi-person live video stream according to anotherimplementation of the present application;

FIG. 9 is a schematic diagram of a frame of a multi-person live videostream that is obtained after stitching according to anotherimplementation of the present application;

FIG. 10 is a flowchart of another embodiment of a method forimplementing a multi-person video live streaming service according tothe present application;

FIG. 11 is a flowchart of another embodiment of a method forimplementing a multi-person video live streaming service according tothe present application;

FIG. 12 is a module diagram of an embodiment of an apparatus forimplementing a multi-person video live streaming service according tothe present application; and

FIG. 13 is a schematic diagram of a hardware structure of a computerdevice that performs a method for implementing a multi-person video livestreaming service and is provided according to an embodiment of thepresent application.

DETAILED DESCRIPTION OF EMBODIMENTS

The advantages of the present application are further described belowwith reference to accompanying drawings and specific embodiments.

Exemplary embodiments are illustrated in detail here, and examplesthereof are shown in the accompanying drawings. When the followingdescription refers to the figures, the same numerals in differentfigures represent the same or similar elements unless otherwiseindicated. The implementations described in the following exemplaryembodiments do not represent all implementations consistent with thepresent disclosure. Instead, they are merely examples of apparatuses andmethods consistent with some aspects of the present disclosure asdetailed in the appended claims.

The terms used in the present disclosure are merely for the purpose ofdescribing specific embodiments, and are not intended to limit thepresent disclosure. The terms “a/an”, “said” and “the” in the singularform used in the present disclosure and the appended claims are alsointended to include the plural form unless otherwise clearly indicatedin the context. It should also be understood that the term “and/or” usedherein refers to and includes any or all possible combinations of one ormore of the associated listed items.

It should be understood that although the terms, such as first, secondand third, may be used in the present disclosure to describe varioustypes of information, such information should not be limited to theseterms. These terms are merely used to distinguish the same type ofinformation from each other. For example, without departing from thescope of the present disclosure, first information may also be referredto as second information, and similarly, second information may also bereferred to as first information. Depending on the context, the word“if” as used herein may be interpreted as “when” or “upon” or “inresponse to the determination”.

In the description of the present application, it should be understoodthat, the reference numerals of steps do not indicate the order ofexecution of the steps, but are merely to facilitate the description ofthe present application and differentiation between the steps, and thuswill not be interpreted as limiting the present application.

FIG. 1 schematically shows an application environment for a method forimplementing a multi-person video live streaming service according to anembodiment of the present application. In the example embodiment, asystem for the application environment may include a live streamerterminal 10, a live streaming participant (i.e., a live streamingmember, other than a live streamer, in a live streaming group) terminal20, and a server 30. The live streamer terminal 10, the live streamingparticipant terminal 20, and the server 30 are connected in a wirelessor wired manner, and there is a respective application client or webpageclient on the live streamer terminal 10 and the live streamingparticipant terminal 20. By means of the application client or webpageclient, the live streamer terminal 10 and the live streaming participantterminal 2 upload a live video stream to the server 30, such that theserver 30 can be triggered to perform the method for implementing amulti-person video live streaming service. The live streamer terminal 10and the live streaming participant terminal 20 may be personal computers(PC), mobile phones, iPADs, tablet computers, notebook computers,personal digital assistants, etc.

FIG. 2 is a schematic flowchart of a method for implementing amulti-person video live streaming service according to an embodiment ofthe present application. It can be understood that the flow chart inthis method embodiment is not used to limit the order of execution ofthe steps. An exemplary description is made below by taking a server asan execution subject. It can be seen from the figure that the method forimplementing a multi-person video live streaming service provided inthis embodiment includes the step as follows.

In step S20, a first video and a second video of a live streamer areobtained, and a third video of other live streaming members than thelive streamer in a live streaming group is obtained, where the firstvideo includes a real-time image acquired by a first camera apparatus ofthe live streamer, the second video includes a video that the livestreamer is watching, and the third video includes real-time imagesacquired by second camera apparatuses of the other live streamingmembers.

Specifically, in the embodiment of the present application, during amulti-person live streaming service, the live streamer and the otherlive streaming members than the live streamer in the live streaminggroup upload a live video stream to a server through their respectivelive streaming clients.

The first camera apparatus may be a camera apparatus (for example, acamera) built in a live streamer terminal, or may be a camera apparatusexternally connected to the live streamer terminal. The first cameraapparatus can be used to acquire a first video, and the first video isthe current live streaming image of the live streamer, that is, areal-time image acquired by the first camera apparatus. Preferably, thefirst video includes the face of the live streamer. The second videothat the live streamer is watching is a video that is played by the livestreamer terminal and that the live streamer wants to watch togetherwith the other live streaming members, and the video may be a localvideo, or may be an online video. The second video may be various typesof videos, for example, a dress changing video, a challenge video, astory guessing video, etc. The second camera apparatus may be a cameraapparatus (for example, a camera) built in a live streaming participant(the other live streaming member) terminal, or may be a camera apparatusexternally connected to the live streaming participant terminal. Thesecond camera apparatus can be used to acquire a third video, and thethird video includes the current live streaming images of live streamingparticipants, that is, real-time images acquired by the second cameraapparatuses. Preferably, the third video includes the faces of the livestreaming participants.

It should be noted that, in the embodiment of the present application,before the multi-person live streaming service, the live streamer shouldfirst create a live streaming group so that a plurality of livestreaming participants join the live streaming group. After theplurality of live streaming participants join the live streaming group,the live streamer can start the multi-person live streaming service.

In step S21, the first video, the second video, and the third video ofthe other live streaming members are stitched, for obtaining amulti-person live video stream, where each frame of the multi-personlive video stream includes a frame of the first video, a frame of thesecond video, and a frame of the third video of the other live streamingmembers.

Specifically, stitching is performed frame by frame. First frames of thefirst video, the second video, and the third video of the other livestreaming members are first obtained, and the obtained first frames arethen stitched for obtaining a first frame of the multi-person live videostream. In other words, the synthesized first frame of the multi-personlive video stream includes live streaming video frames of all the livestreaming members. In this way, each live streaming member can see thelive streaming frames of all the live streaming members in a displayinterface of his/her live streaming client.

In an implementation, during stitching, a synthesized frame of themulti-person live video stream can be divided, according to the numberof live streaming members, into display blocks corresponding to thenumber of live streaming members. For example, if there are six livestreaming members in the live streaming group, the frame of themulti-person live video stream can be divided into seven blocks, wheresix blocks of frames are used to display video frames of the livestreaming members, and the remaining block of frame is used to display aframe of a video that the live streamer is watching. Each live streamingmember watching the multi-person live video stream achieves the effectthat he/she sees, in the display interface of his/her live streamingclient, live streaming images of the six live streaming members and alsothe image of the video that the live streamer is watching.

It should be noted that, after the synthesis of the first frame of themulti-person live video stream, second frames of the first video, thesecond video, and the third video of the other live streaming membersare further obtained, and the obtained second frames are then stitchedfor obtaining a second frame of the multi-person live video stream, andso on until the syntheses of all frames of the multi-person live videostream are completed.

In an implementation of the present application, in order to preventvideo lagging from occurring when the live streaming members arewatching the multi-person live video stream, during stitching, facialdetection can be performed, by using a detection thread, on the firstvideo and the third video of the other live streaming members, and aftera face is detected, an area of the detected face is rendered by using arendering thread. In the embodiment of the present application, the useof a single thread for video synthesis, and the use of a plurality ofthreads for video synthesis can reduce the time for video synthesis, andthen cause the video lagging during the watching of the multi-personlive video stream.

It should be noted that, in other implementations of the presentapplication, during stitching, more threads may also be used forprocessing video frames to be synthesized, for obtaining themulti-person live video stream.

Exemplarily, in an implementation, referring to FIG. 3 , when the secondvideo is a type of dress changing video, the synthesis of each frame ofthe multi-person live video stream includes the steps as follows.

In step S30, it is determined whether a respective timestamp of a secondvideo frame to be synthesized of the second video is a preset timestamp.

Specifically, when the second video is the type of dress changing video,during the synthesis of each frame of the multi-person live videostream, it is first determined whether a respective timestamp of asecond video frame to be synthesized of the second video is a presettimestamp. In this embodiment, timestamp information in the second videoframe to be synthesized can be directly obtained, and the obtainedtimestamp information is then compared with the preset timestamp, so asto determine whether the respective timestamp of the second video frameto be synthesized is the same as the preset timestamp. In the embodimentof the present application, the preset timestamp may be one or morepoints of time preset by the live streamer, or may be one or moredefault points of time preset by a system, which is not limited in theimplementation of the present application.

The dress changing video means that when live streaming users arewatching this type of video, and a particular point of time at which thevideo is played is reached, a server adds corresponding sticker specialeffects to all the live streaming users, so as to realize dresschanging.

It should be noted that, the second video frame to be synthesized is thecurrent video frame to be synthesized of the second video. For example,when the synthesis of the first frame of the multi-person live videostream is currently being performed, the second video frame to besynthesized is a first frame of the second video. For another example,when the synthesis of a third frame of the multi-person live videostream is currently being performed, the second video frame to besynthesized is a third frame of the second video.

In step S31, facial detection is performed on a first video frame to besynthesized of the first video and a third video frame to be synthesizedof the third video of the other live streaming members if the respectivetimestamp of the second video frame to be synthesized of the secondvideo is the preset timestamp.

Specifically, when it is determined that the respective timestamp of thesecond video frame to be synthesized is the preset timestamp, facialdetection can be performed, by using a facial recognition model, on thefirst video frame to be synthesized of the first video and the thirdvideo frame to be synthesized of the third video of the other livestreaming members, where the facial recognition model is an existingmodel for facial detection, and will not be described in detail in thisembodiment.

It should be noted that, the first video frame to be synthesized and thethird video frame to be synthesized are respectively the current videoframe to be synthesized of the first video and the current video frameto be synthesized of the third video. For example, when the synthesis ofthe first frame of the multi-person live video stream is currently beingperformed, the first video frame to be synthesized is a first frame ofthe first video, and the third video frame to be synthesized is a firstframe of the third video. For another example, when the synthesis of athird frame of the multi-person live video stream is currently beingperformed, the first video frame to be synthesized is a third frame ofthe first video, and the third video frame to be synthesized is a thirdframe of the third video.

In the embodiment of the present application, when it is determined thatthe respective timestamp of the second video frame to be synthesized isnot the preset timestamp, the synthesis of a video frame can be directlyperformed without facial detection.

In step S32, upon the detection of a face, a preset sticker specialeffect is added to the detected face to obtain a video frame to besynthesized having the sticker special effect, where no sticker specialeffect is added to a video frame to be synthesized with no facedetected.

Specifically, the sticker special effect may be a preset makeup sticker,an eye shadow or gesture special effect, a funny dress-changing specialeffect, etc.

It should be noted that, in the embodiment of the present application,during the addition of the sticker special effect, the same or differentsticker effects may be added to the faces of all live streaming members,or sticker special effects may be added only to one or more livestreaming members, which is not limited in this embodiment.

In step S33, the second video frame to be synthesized, the video frameto be synthesized having the sticker special effect, and the video frameto be synthesized having no sticker special effect are stitched, forobtaining a frame of the multi-person live video stream.

Specifically, after the sticker effect is added, the second video frameto be synthesized, the video frame to be synthesized having the stickerspecial effect, and the video frame to be synthesized having no stickereffect can be stitched and synthesized, for obtaining the frame of themulti-person live video stream. For example, the frame of themulti-person live video stream that is obtained after stitching is asshown in FIG. 4 or FIG. 5 . FIG. 4 is a schematic diagram of asynthesized frame obtained by adding a sticker special effect to onlyone live streaming user. FIG. 5 is a schematic diagram of a synthesizedframe obtained by adding sticker special effects to all live streamingusers.

In this embodiment, when it is determined that the respective timestampof the current video frame to be synthesized of the second video thatthe live streamer is watching is the preset timestamp, preset stickerspecial effects are added to the faces of live streaming users, so as toarouse greater interest of the live streaming users in watching a videotogether, thereby improving the user experience.

In another implementation, referring to FIG. 6 , when the second videois a type of challenge video, the synthesis of each frame of themulti-person live video stream includes the steps as follows.

In step S40, expression recognition is performed on a first video frameto be synthesized of the first video and a third video frame to besynthesized of the third video of the other live streaming members.

Specifically, when the second video is the type of challenge video,during the synthesis of each frame of the multi-person live videostream, expression recognition should be first performed on the firstvideo frame to be synthesized of the first video and the third videoframe to be synthesized of the third video of the other live streamingmembers. In the embodiment of the present application, expressionrecognition can be performed, by using an expression recognition model,on the first video frame to be synthesized and the third video frame tobe synthesized of the other live streaming member, where the expressionrecognition model may be an existing model for expression recognition,and will not be described in detail in this embodiment.

The challenge video means that when live streaming users are watchingthis type of video, the live streaming users may launch a challenge(PK). For example, when the challenge video is a Try-Not-To-Laughchallenge video, the live streaming users may challenge each other tosee who will laugh first. The user to laugh first will be out. Foranother example, when the challenge video is a Try-Not-To-Cry challengevideo, the live streaming users may challenge each other to see who willshed tears first. The user to shed tears first will be out.

It should be noted that, in this instance, the first video frame to besynthesized and the third video frame to be synthesized are respectivelythe current video frame to be synthesized of the first video and thecurrent video frame to be synthesized of the third video. For example,when the synthesis of the first frame of the multi-person live videostream is currently being performed, the first video frame to besynthesized is a first frame of the first video, and the third videoframe to be synthesized is a first frame of the third video. For anotherexample, when the synthesis of a third frame of the multi-person livevideo stream is currently being performed, the first video frame to besynthesized is a third frame of the first video, and the third videoframe to be synthesized is a third frame of the third video.

In step S41, when a preset expression is recognized, a preset stickerspecial effect is added to a video frame to be synthesized with thepreset expression recognized, where no sticker special effect is addedto a video frame to be synthesized with no preset expression recognized.

Specifically, the preset expression is the expression set in advance,for example, a smile face, a cry face, etc. The sticker special effectmay be the sticker special effect set in advance to demonstrate that alive streaming user has lost the challenge, such as being “out”.

In step S42, the second video frame to be synthesized of the secondvideo, the video frame to be synthesized having the sticker specialeffect, and the video frame to be synthesized having no sticker specialeffect are stitched, for obtaining a frame of the multi-person livevideo stream.

Specifically, after the sticker effect is added, the second video frameto be synthesized, the video frame to be synthesized having the stickerspecial effect, and the video frame to be synthesized having no stickereffect can be stitched and synthesized, for obtaining the frame of themulti-person live video stream. Exemplarily, the frame of themulti-person live video stream that is obtained after stitching is asshown in FIG. 7 .

It should be noted that, the second video frame to be synthesized is thecurrent video frame to be synthesized of the second video. For example,when the synthesis of a first frame of the multi-person live videostream is currently being performed, the second video frame to besynthesized is a first frame of the second video. For another example,when the synthesis of a third frame of the multi-person live videostream is currently being performed, the second video frame to besynthesized is a third frame of the second video.

In this embodiment, when the second video that the live streamer iswatching is the challenge video, the live streaming users may challengeeach other to enhance the enjoyment of watching the video of the livestreaming users, thereby improving the user experience.

In another implementation, referring to FIG. 8 , when the second videois a type of story guessing video, the synthesis of each frame of themulti-person live video stream includes the steps as follows.

In step S50, it is detected whether a story guessing message sent by anylive streaming member in the live streaming group is received.

Specifically, when the second video is the type of story guessing video,during the synthesis of each frame of the multi-person live videostream, it should be first detected whether a story guessing messagesent by any live streaming member in the live streaming group isreceived. That is, when the live streaming members are watching thevideo together, any one of the live streaming members may send the storyguessing message to invite other live streaming members to guess whatwill happen to the story of the video that they are watching together.For example, the live streaming members are watching a story guessingvideo showing frying eggs. During watching, a live streaming member maysend a story guessing message to invite other live streaming members toguess how many eggs a user who fries eggs have used in the video. Thestory guessing message may be a message including candidate answers, ormay be a message including no candidate answers and only including aquestion for guessing.

In step S51, the story guessing message is added to the second videoframe to be synthesized of the second video if the story guessingmessage sent by any live streaming member in the live streaming group isreceived.

Specifically, if a story guessing message sent by a live streamingmember is received, the story guessing message can be added to thesecond video frame to be synthesized of the second video.

In the embodiment of the present application, when the story guessingmessage sent by any live streaming member in the live streaming group isnot received, the synthesis of a video frame of the multi-person livevideo stream can be directly performed.

It should be noted that, the second video frame to be synthesized is thecurrent video frame to be synthesized of the second video. For example,when the synthesis of a first frame of the multi-person live videostream is currently being performed, the second video frame to besynthesized is a first frame of the second video. For another example,when the synthesis of a third frame of the multi-person live videostream is currently being performed, the second video frame to besynthesized is a third frame of the second video.

In step S52, the second video frame to be synthesized including thestory guessing message, a first video frame to be synthesized of thefirst video, and a third video frame to be synthesized of the thirdvideo of the other live streaming members are stitched, for obtaining aframe of the multi-person live video stream.

Specifically, after the story guessing message is added, the secondvideo frame to be synthesized including the story guessing message, afirst video frame to be synthesized of the first video, and a thirdvideo frame to be synthesized of the third video of the other livestreaming members are stitched and synthesized, for obtaining a frame ofthe multi-person live video stream. Exemplarily, the frame of themulti-person live video stream that is obtained after stitching is asshown in FIG. 9 .

It should be noted that, the first video frame to be synthesized and thethird video frame to be synthesized are respectively the current videoframe to be synthesized of the first video and the current video frameto be synthesized of the third video. For example, when the synthesis ofthe first frame of the multi-person live video stream is currently beingperformed, the first video frame to be synthesized is a first frame ofthe first video, and the third video frame to be synthesized is a firstframe of the third video. For another example, when the synthesis of athird frame of the multi-person live video stream is currently beingperformed, the first video frame to be synthesized is a third frame ofthe first video, and the third video frame to be synthesized is a thirdframe of the third video.

In this embodiment, when the second video that the live streamer iswatching is the story guessing video, any live streaming member may senda story guessing message to invite other live streaming members to guesswhat will happen to the story next, so as to strength the interactionbetween live streaming members, thereby improving the user experience.

In step S22, the multi-person live video stream is sent to respectivelive streaming clients of the live streaming members for the livestreaming members to watch.

Specifically, the live streaming members include the live streamer andother live streaming members than the live streamer in the livestreaming group.

In the embodiment of the present application, after the synthesis of themulti-person live video stream, the multi-person live video stream issent to the respective live streaming clients of the live streamingmembers, so that the live streaming members can watch both the videoimages of all the live streaming members and the frame of the video thatthe live streamer is watching.

In the embodiments of the present application, a first video and asecond video of a live streamer are obtained, and a third video of otherlive streaming member than the live streamer in a live streaming groupis obtained; the first video, the second video, and the third video ofthe other live streaming members are stitched, for obtaining amulti-person live video stream; and the multi-person live video streamis sent to respective live streaming clients of the live streamingmembers for the live streaming members to watch. By means of the methodfor implementing a multi-person video live streaming service in theembodiments of the present application, each live streaming member canwatch live streaming video images of all live streaming members in adisplay interface of his/her live streaming client, and each livestreaming member can also watch a video together with a live streamer atthe same time, such that the modes of interaction among live streamingmembers can be increased, thereby improving the user experience.

Further, FIG. 10 is a schematic flowchart of a method for implementing amulti-person video live streaming service according to anotherembodiment of the present application. It can be seen from the figurethat the method for implementing a multi-person video live streamingservice provided in this embodiment includes the step as follows.

In step S60, a first video and a second video of a live streamer areobtained, and a third video of other live streaming members than thelive streamer in a live streaming group is obtained, where the firstvideo includes a real-time image acquired by a first camera apparatus ofthe live streamer, the second video includes a video that the livestreamer is watching, and the third video includes real-time imagesacquired by second camera apparatuses of the other live streamingmembers.

In step S61, the first video, the second video, and the third video ofthe other live streaming members are stitched, for obtaining amulti-person live video stream, where each frame of the multi-personlive video stream includes a frame of the first video, a frame of thesecond video, and a frame of the third video of the other live streamingmembers.

In step S62, the multi-person live video stream is sent to respectivelive streaming clients of the live streaming members for the livestreaming members to watch.

Specifically, the above steps S60 to S62 are the same as steps S20 toS22 in the above embodiments, and will not be described in detail inthis embodiment.

In step S63, the multi-person live video stream is distributed to a CDNnetwork.

Specifically, after the multi-person live video stream is obtained, inorder that other users can also watch the multi-person live videostream, the multi-person live video stream may be distributed to acontent delivery network (CDN). In this way, other users may download,from the CDN network and according to their needs, a multi-person livevideo stream of the type they prefer, and then play and watch same.

In the embodiment of the present application, the multi-person livevideo stream is distributed to the CDN network, so that other users canalso download the live video stream from the CDN network as desired, andthen play and watch same, thereby increasing the types of videos thatusers can watch.

Further, FIG. 11 is a schematic flowchart of a method for implementing amulti-person video live streaming service according to anotherembodiment of the present application. It can be seen from the figurethat the method for implementing a multi-person video live streamingservice provided in this embodiment includes the step as follows.

In step S70, a first video and a second video of a live streamer areobtained, and a third video of other live streaming members than thelive streamer in a live streaming group is obtained, where the firstvideo includes a real-time image acquired by a first camera apparatus ofthe live streamer, the second video includes a video that the livestreamer is watching, and the third video includes real-time imagesacquired by second camera apparatuses of the other live streamingmembers.

In step S71, the first video, the second video, and the third video ofthe other live streaming members are stitched, for obtaining amulti-person live video stream, where each frame of the multi-personlive video stream includes a frame of the first video, a frame of thesecond video, and a frame of the third video of the other live streamingmembers.

In step S72, the reduction in the bit rate of the multi-person livevideo stream is performed.

Specifically, in order to prevent video lagging from occurring when thelive streaming members are watching the multi-person live video stream,the reduction in the bit rate of the multi-person live video stream canbe performed before the multi-person live video stream is sent to therespective live streaming clients of the live streaming members, so thatnetwork resources occupied by the multi-person live video stream arereduced. The bit rate here is the number of bits transmitted per second.The higher the bit rate, the higher the speed of data transmission.

In step S73, the multi-person live video stream with the bit ratereduced is sent to respective live streaming clients of the livestreaming members for the live streaming members to watch.

In the embodiment of the present application, the reduction in the bitrate of the multi-person live video stream is performed, so that thetime consumed for sending the multi-person live video stream to therespective live streaming clients of the live streaming members can bereduced, thereby achieving a better live streaming effect.

FIG. 12 is a diagram of program modules in an embodiment of an apparatus800 for implementing a multi-person video live streaming serviceaccording to the present application.

In this embodiment, the apparatus 800 for implementing a multi-personvideo live streaming service includes a series of computer-readableinstructions stored in a memory, where when the computer-readableinstructions are executed by a processor, the function of implementingthe multi-person video live streaming service according to theembodiments of the present application can be implemented. In someembodiments, the apparatus 800 for implementing a multi-person videolive streaming service may be divided into one or more modules on thebasis of specific operations implemented by various parts of thecomputer-readable instructions. For example, in FIG. 7 , the apparatus800 for implementing a multi-person video live streaming service may bedivided into an obtaining module 801, a stitching module 802, and asending module 803. In the modules:

the obtaining module 801 is configured to obtain a first video and asecond video of a live streamer, and obtain a third video of other livestreaming members than the live streamer in a live streaming group,where the first video includes a video acquired by a first cameraapparatus, the second video includes a video that the live streamer iswatching, and the third video includes a video acquired by a secondcamera apparatus.

Specifically, in the embodiment of the present application, during amulti-person live streaming service, the live streamer and the otherlive streaming members than the live streamer in the live streaminggroup upload a live video stream to a server through their respectivelive streaming clients.

The first camera apparatus may be a camera apparatus (for example, acamera) built in a live streamer terminal, or may be a camera apparatusexternally connected to the live streamer terminal. The first cameraapparatus can be used to acquire a first video, and the first video isthe current live streaming image of the live streamer, that is, areal-time image acquired by the first camera apparatus. Preferably, thefirst video includes the face of the live streamer. The second videothat the live streamer is watching is a video that is played by the livestreamer terminal and that the live streamer wants to watch togetherwith the other live streaming members, and the video may be a localvideo, or may be an online video. The second video may be various typesof videos, for example, a dress changing video, a challenge video, astory guessing video, etc. The second camera apparatus may be a cameraapparatus (for example, a camera) built in a live streaming participant(the other live streaming member) terminal, or may be a camera apparatusexternally connected to the live streaming participant terminal. Thesecond camera apparatus can be used to acquire a third video, and thethird video includes the current live streaming images of live streamingparticipants, that is, real-time images acquired by the second cameraapparatuses. Preferably, the third video includes the faces of the livestreaming participants.

It should be noted that, in the embodiment of the present application,before the multi-person live streaming service, the live streamer shouldfirst create a live streaming group so that a plurality of livestreaming participants join the live streaming group. After theplurality of live streaming participants join the live streaming group,the live streamer can start the multi-person live streaming service.

The stitching module 802 is configured to stitch the first video, thesecond video, and the third video of the other live streaming members,for obtaining a multi-person live video stream, where each frame of themulti-person live video stream includes a frame of the first video, aframe of the second video, and a frame of the third video of the otherlive streaming members.

Specifically, stitching is performed frame by frame. First frames of thefirst video, the second video, and the third video of the other livestreaming members are first obtained, and the obtained first frames arethen stitched for obtaining a first frame of the multi-person live videostream. In other words, the synthesized first frame of the multi-personlive video stream includes live streaming video frames of all the livestreaming members. In this way, each live streaming member can see thelive streaming frames of all the live streaming members in a displayinterface of his/her live streaming client.

In an implementation, during stitching, a synthesized frame of themulti-person live video stream can be divided, according to the numberof live streaming members, into display blocks corresponding to thenumber of live streaming members. For example, if there are six livestreaming members in the live streaming group, the frame of themulti-person live video stream can be divided into seven blocks, wheresix blocks of frames are used to display video frames of the livestreaming members, and the remaining block of frame is used to display aframe of a video that the live streamer is watching. Each live streamingmember watching the multi-person live video stream achieves the effectthat he/she sees, in the display interface of his/her live streamingclient, live streaming images of the six live streaming members and alsothe image of the video that the live streamer is watching.

It should be noted that, after the synthesis of the first frame of themulti-person live video stream, second frames of the first video, thesecond video, and the third video of the other live streaming membersare further obtained, and the obtained second frames are then stitchedfor obtaining a second frame of the multi-person live video stream, andso on until the syntheses of all frames of the multi-person live videostream are completed.

In an implementation of the present application, in order to preventvideo lagging from occurring when the live streaming members arewatching the multi-person live video stream, during stitching, facialdetection can be performed, by using a detection thread, on the firstvideo and the third video of the other live streaming members, and aftera face is detected, an area of the detected face is rendered by using arendering thread. In the embodiment of the present application, the useof a single thread for video synthesis, and the use of a plurality ofthreads for video synthesis can reduce the time for video synthesis, andthen prevent video lagging from occurring during the watching of themulti-person live video stream.

It should be noted that, in other implementations of the presentapplication, during stitching, more threads may also be used forprocessing video frames to be synthesized, for obtaining themulti-person live video stream.

Exemplarily, in an implementation, when the second video is a type ofdress changing video, the stitching module 802 is further configured todetermine whether a respective timestamp of a second video frame to besynthesized of the second video is a preset timestamp.

Specifically, when the second video is the type of dress changing video,during the synthesis of each frame of the multi-person live videostream, it is first determined whether a respective timestamp of asecond video frame to be synthesized of the second video is a presettimestamp. In this embodiment, timestamp information in the second videoframe to be synthesized can be directly obtained, and the obtainedtimestamp information is then compared with the preset timestamp, so asto determine whether the respective timestamp of the second video frameto be synthesized is the same as the preset timestamp. In the embodimentof the present application, the preset timestamp may be one or morepoints of time preset by the live streamer, or may be one or moredefault points of time preset by a system, which is not limited in theimplementation of the present application.

The dress changing video means that when live streaming users arewatching this type of video, and a particular point of time at which thevideo is played is reached, a server adds corresponding sticker specialeffects to all the live streaming users, so as to realize dresschanging.

It should be noted that, the second video frame to be synthesized is thecurrent video frame to be synthesized of the second video. For example,when the synthesis of the first frame of the multi-person live videostream is currently being performed, the second video frame to besynthesized is a first frame of the second video. For another example,when the synthesis of a third frame of the multi-person live videostream is currently being performed, the second video frame to besynthesized is a third frame of the second video.

The stitching module 802 is further configured to perform facialdetection on a first video frame to be synthesized of the first videoand a third video frame to be synthesized of the third video of theother live streaming members if the respective timestamp of the secondvideo frame to be synthesized of the second video is the presettimestamp.

Specifically, when it is determined that the respective timestamp of thesecond video frame to be synthesized is the preset timestamp, facialdetection can be performed, by using a facial recognition model, on thefirst video frame to be synthesized of the first video and the thirdvideo frame to be synthesized of the third video of the other livestreaming members, where the facial recognition model is an existingmodel for facial detection, and will not be described in detail in thisembodiment.

It should be noted that, the first video frame to be synthesized and thethird video frame to be synthesized are respectively the current videoframe to be synthesized of the first video and the current video frameto be synthesized of the third video. For example, when the synthesis ofthe first frame of the multi-person live video stream is currently beingperformed, the first video frame to be synthesized is a first frame ofthe first video, and the third video frame to be synthesized is a firstframe of the third video. For another example, when the synthesis of athird frame of the multi-person live video stream is currently beingperformed, the first video frame to be synthesized is a third frame ofthe first video, and the third video frame to be synthesized is a thirdframe of the third video.

In the embodiment of the present application, when it is determined thatthe respective timestamp of the second video frame to be synthesized isnot the preset timestamp, the synthesis of a video frame can be directlyperformed without facial detection.

The stitching module 802 is further configured to add, upon thedetection of a face, a preset sticker special effect to the detectedface to obtain a video frame to be synthesized having the stickerspecial effect, where no sticker special effect is added to a videoframe to be synthesized with no face detected.

Specifically, the sticker special effect may be a preset makeup sticker,an eye shadow or gesture special effect, a funny dress-changing specialeffect, etc.

It should be noted that, in the embodiment of the present application,during the addition of the sticker special effect, the same or differentsticker effects may be added to the faces of all live streaming members,or sticker special effects may be added only to one or more livestreaming members, which is not limited in this embodiment.

The stitching module 802 is further configured to stitch the secondvideo frame to be synthesized, the video frame to be synthesized havingthe sticker special effect, and the video frame to be synthesized havingno sticker special effect, for obtaining a frame of the multi-personlive video stream.

Specifically, after the sticker effect is added, the second video frameto be synthesized, the video frame to be synthesized having the stickerspecial effect, and the video frame to be synthesized having no stickereffect can be stitched and synthesized, for obtaining the frame of themulti-person live video stream. For example, the frame of themulti-person live video stream that is obtained after stitching is asshown in FIG. 4 or FIG. 5 . FIG. 4 is a schematic diagram of asynthesized frame obtained by adding a sticker special effect to onlyone live streaming user. FIG. 5 is a schematic diagram of a synthesizedframe obtained by adding sticker special effects to all live streamingusers.

In this embodiment, when it is determined that the respective timestampof the current video frame to be synthesized of the second video thatthe live streamer is watching is the preset timestamp, preset stickerspecial effects are added to the faces of live streaming users, so as toarouse greater interest of the live streaming users in watching a videotogether, thereby improving the user experience.

In another implementation, when the second video is a type of challengevideo, the stitching module 802 is further configured to performexpression recognition on a first video frame to be synthesized of thefirst video and a third video frame to be synthesized of the third videoof the other live streaming members.

Specifically, when the second video is the type of challenge video,during the synthesis of each frame of the multi-person live videostream, expression recognition should be first performed on the firstvideo frame to be synthesized of the first video and the third videoframe to be synthesized of the third video of the other live streamingmembers. In the embodiment of the present application, expressionrecognition can be performed, by using an expression recognition model,on the first video frame to be synthesized and the third video frame tobe synthesized of the other live streaming member, where the expressionrecognition model may be an existing model for expression recognition,and will not be described in detail in this embodiment.

The challenge video means that when live streaming users are watchingthis type of video, the live streaming users may launch a challenge(PK). For example, when the challenge video is a Try-Not-To-Laughchallenge video, the live streaming users may challenge each other tosee who will laugh first. The user to laugh first will be out. Foranother example, when the challenge video is a Try-Not-To-Cry challengevideo, the live streaming users may challenge each other to see who willshed tears first. The user to shed tears first will be out.

The stitching module 802 is further configured to add, when a presetexpression is recognized, a preset sticker special effect to a videoframe to be synthesized with the preset expression recognized, where nosticker special effect is added to a video frame to be synthesized withno preset expression recognized.

Specifically, the preset expression is the expression set in advance,for example, a smile face, a cry face, etc. The sticker special effectmay be the sticker special effect set in advance to demonstrate that alive streaming user has lost the challenge, such as being “out”.

The stitching module 802 is further configured to stitch the secondvideo frame to be synthesized of the second video, the video frame to besynthesized having the sticker special effect, and the video frame to besynthesized having no sticker special effect, for obtaining a frame ofthe multi-person live video stream.

Specifically, after the sticker effect is added, the second video frameto be synthesized, the video frame to be synthesized having the stickerspecial effect, and the video frame to be synthesized having no stickereffect can be stitched and synthesized, for obtaining the frame of themulti-person live video stream. Exemplarily, the frame of themulti-person live video stream that is obtained after stitching is asshown in FIG. 7 .

In this embodiment, when the second video that the live streamer iswatching is the challenge video, the live streaming users may challengeeach other to enhance the enjoyment of watching the video of the livestreaming users, thereby improving the user experience.

In another implementation, when the second video is a type of storyguessing video, the stitching module 802 is further configured to detectwhether a story guessing message sent by any live streaming member inthe live streaming group is received.

Specifically, when the second video is the type of story guessing video,during the synthesis of each frame of the multi-person live videostream, it should be first detected whether a story guessing messagesent by any live streaming member in the live streaming group isreceived. That is, when the live streaming members are watching thevideo together, any one of the live streaming members may send the storyguessing message to invite other live streaming members to guess whatwill happen to the story of the video that they are watching together.For example, the live streaming members are watching a story guessingvideo showing frying eggs. During watching, a live streaming member maysend a story guessing message to invite other live streaming members toguess how many eggs a user who fries eggs have used in the video. Thestory guessing message may be a message including candidate answers, ormay be a message including no candidate answers and only including aquestion for guessing.

The stitching module 802 is further configured to add the story guessingmessage to the second video frame to be synthesized of the second videoif the story guessing message sent by any live streaming member in thelive streaming group is received.

Specifically, if a story guessing message sent by a live streamingmember is received, the story guessing message can be added to thesecond video frame to be synthesized of the second video.

In the embodiment of the present application, when the story guessingmessage sent by any live streaming member in the live streaming group isnot received, the synthesis of a video frame of the multi-person livevideo stream can be directly performed.

The stitching module 802 is further configured to stitch the secondvideo frame to be synthesized including the story guessing message, afirst video frame to be synthesized of the first video, and a thirdvideo frame to be synthesized of the third video of the other livestreaming members, for obtaining a frame of the multi-person live videostream.

Specifically, after the story guessing message is added, the secondvideo frame to be synthesized including the story guessing message, afirst video frame to be synthesized of the first video, and a thirdvideo frame to be synthesized of the third video of the other livestreaming members are stitched and synthesized, for obtaining a frame ofthe multi-person live video stream. Exemplarily, the frame of themulti-person live video stream that is obtained after stitching is asshown in FIG. 9 .

In this embodiment, when the second video that the live streamer iswatching is the story guessing video, any live streaming member may senda story guessing message to invite other live streaming members to guesswhat will happen to the story next, so as to strength the interactionbetween live streaming members, thereby improving the user experience.

The sending module 803 is configured to send the multi-person live videostream to respective live streaming clients of the live streamingmembers for the live streaming members to watch.

Specifically, the live streaming members include the live streamer andother live streaming members than the live streamer in the livestreaming group.

In the embodiment of the present application, after the synthesis of themulti-person live video stream, the multi-person live video stream issent to the respective live streaming clients of the live streamingmembers, so that the live streaming members can watch both the videoimages of all the live streaming members and the frame of the video thatthe live streamer is watching.

In the embodiments of the present application, a first video and asecond video of a live streamer are obtained, and a third video of otherlive streaming member than the live streamer in a live streaming groupis obtained; the first video, the second video, and the third video ofthe other live streaming members are stitched, for obtaining amulti-person live video stream; and the multi-person live video streamis sent to respective live streaming clients of the live streamingmembers for the live streaming members to watch. By means of the methodfor implementing a multi-person video live streaming service in theembodiments of the present application, each live streaming member canwatch live streaming video images of all live streaming members in adisplay interface of his/her live streaming client, and each livestreaming member can also watch a video together with a live streamer atthe same time, such that the modes of interaction among live streamingmembers can be increased, thereby improving the user experience.

Further, in an implementation, the apparatus 800 for implementing amulti-person video live streaming service further includes adistribution module.

The distribution module is configured to distribute the multi-personlive video stream to a CDN network.

Specifically, after the multi-person live video stream is obtained, inorder that other users can also watch the multi-person live videostream, the multi-person live video stream may be distributed to acontent delivery network (CDN). In this way, other users may download,from the CDN network and according to their needs, a multi-person livevideo stream of the type they prefer, and then play and watch same.

In the embodiment of the present application, the multi-person livevideo stream is distributed to the CDN network, so that other users canalso download the live video stream from the CDN network as desired, andthen play and watch same, thereby increasing the types of videos thatusers can watch.

Further, in another implementation, the apparatus 800 for implementing amulti-person video live streaming service further includes a processingmodule.

The processing module is configured to reduce the bit rate of themulti-person live video stream.

Specifically, in order to prevent video lagging from occurring when thelive streaming members are watching the multi-person live video stream,the reduction in the bit rate of the multi-person live video stream canbe performed before the multi-person live video stream is sent to therespective live streaming clients of the live streaming members, so thatnetwork resources occupied by the multi-person live video stream arereduced. The bit rate here is the number of bits transmitted per second.The higher the bit rate, the higher the speed of data transmission.

In the embodiment of the present application, the reduction in the bitrate of the multi-person live video stream is performed, so that thetime consumed for sending the multi-person live video stream to therespective live streaming clients of the live streaming members can bereduced, thereby achieving a better live streaming effect.

FIG. 13 schematically shows a hardware architecture of a computer device2 applied to a method for implement a multi-person video live streamingservice according to an embodiment of the present application. In thisembodiment, the computer device 2 is a device that can automaticallyperform numerical computation and/or information processing inaccordance with preset or pre-stored instructions. For example, thecomputer device may be a tablet computer, a notebook computer, a desktopcomputer, a rack server, a blade server, a tower server, a cabinetserver (including an independent server, or a server cluster composed ofa plurality of servers), etc. As shown in FIG. 13 , the computer device2 at least includes, but is not limited to: a memory 901, a processor902, and a network interface 903 that can be communicatively connectedto each other via a system bus. In the components:

the memory 901 includes at least one type of computer-readable storagemedium, and the readable storage medium includes a flash memory, a harddisk, a multimedia card, a card-type memory (e.g., an SD or DX memory,etc.), a random access memory (RAM), a static random access memory(SRAM), a read-only memory (ROM), an electrically erasable programmableread-only memory (EEPROM), a programmable read-only memory (PROM), amagnetic memory, a magnetic disk, an optical disc, etc. In someembodiments, the memory 901 may be an internal storage module of thecomputer device 2, for example, a hard disk or a memory of the computerdevice 2. In some other embodiments, the memory 901 may alternatively bean external storage device of the computer device 2, for example, aplug-in hard disk disposed on the computer device 2, a smart media card(SMC for short), a secure digital (SD for short) card, a flash card,etc. Certainly, the memory 901 may alternatively include both theinternal storage module of the computer device 2 and the externalstorage device thereof. In this embodiment, the memory 901 is generallyused to store an operating system and various application softwareinstalled in the computer device 2, such as program code of the methodfor implementing a multi-person video live streaming service. Inaddition, the memory 901 may be further used to temporarily storevarious types of data that has been output or will be output.

The processor 902 may be, in some embodiments, a central processing unit(CPU for short), a controller, a microcontroller, a microprocessor, orother data processing chips. The processor 902 is generally used tocontrol the overall operation of the computer device 2, for example,executing control, processing, etc. related to data exchange orcommunication with the computer device 2. In this embodiment, theprocessor 902 is used to run program code stored in the memory 901 orprocess data.

The network interface 903 may include a wireless network interface or awired network interface. The network interface 903 is generally used toestablish a communication connection between the computer device 2 andother computer devices. For example, the network interface 903 is usedto connect the computer device 2 to an external terminal through anetwork, and establish a data transmission channel, a communicationlink, etc. between the computer device 2 and the external terminal. Thenetwork may be a wireless or wired network such as Intranet, Internet, aglobal system of mobile communication (GSM for short), wideband codedivision multiple access (WCDMA for short), a 4G network, a 5G network,Bluetooth, or Wi-Fi.

It should be noted that FIG. 13 shows only a computer device havingcomponents 901 to 903, but it should be understood that not all of theillustrated components are required to be implemented, and more or fewercomponents may be implemented instead.

In this embodiment, the method for implementing a multi-person videolive streaming service stored in the memory 901 may also be divided intoone or more program modules and executed by one or more processors (theprocessor 902 in this embodiment) to implement the present application.

An embodiment of the present application further provides acomputer-readable storage medium having stored thereon computer-readableinstructions, where upon the computer-readable instructions beingexecuted by a processor, the following steps are implemented:

obtaining a first video and a second video of a live streamer, andobtaining a third video of other live streaming members than the livestreamer in a live streaming group, where the first video includes areal-time image acquired by a first camera apparatus of the livestreamer, the second video includes a video that the live streamer iswatching, and the third video includes real-time images acquired bysecond camera apparatuses of the other live streaming members;

stitching the first video, the second video, and the third video of theother live streaming members, for obtaining a multi-person live videostream, where each frame of the multi-person live video stream includesa frame of the first video, a frame of the second video, and a frame ofthe third video of the other live streaming members; and

sending the multi-person live video stream to respective live streamingclients of the live streaming members for the live streaming members towatch.

In this embodiment, the computer-readable storage medium includes aflash memory, a hard disk, a multimedia card, a card-type memory (e.g.,an SD or DX memory, etc.), a random access memory (RAM), a static randomaccess memory (SRAM), a read-only memory (ROM), an electrically erasableprogrammable read-only memory (EEPROM), a programmable read-only memory(PROM), a magnetic memory, a magnetic disk, an optical disc, etc. Insome embodiments, the computer-readable storage medium may be aninternal storage unit of the computer device, for example, a hard diskor a memory of the computer device. In some other embodiments, thecomputer-readable storage medium may alternatively be an externalstorage device of the computer device, for example, a plug-in hard diskdisposed on the computer device, a smart media card (SMC for short), asecure digital (SD for short) card, and a flash card. Certainly, thecomputer-readable storage medium may alternatively include both theinternal storage unit of the computer device and the external storagedevice thereof. In this embodiment, the computer-readable storage mediumis generally used to store an operating system and various applicationsoftware installed in the computer device, such as program code of themethod for implementing a multi-person video live streaming service inthe embodiments. In addition, the computer-readable storage medium maybe further used to temporarily store various types of data that has beenoutput or will be output.

The apparatus embodiments described above are merely exemplary, whereunits illustrated as separate components may be or may not be physicallyseparated, and the components illustrated as units may be or may not bephysical units. That is to say, the components may be positioned at oneplace or distributed on at least two network units. The object of thesolutions in the embodiments of the present application can be achievedby selecting some or all of the modules therein according to actualneeds. Those of ordinary skill in the art can understand and implementthe solutions without any creative effort.

Through the descriptions of the above implementations, those of ordinaryskill in the art can clearly understand that the implementations can beimplemented by software and general hardware platforms. Definitely, theimplementations can also be implemented by hardware. Those of ordinaryskill in the art can understand that all or some of the procedures inthe method of the embodiment can be implemented by computer-readableinstructions instructing related hardware. The program can be stored ina computer-readable storage medium. The program, upon being executed,may include the procedures in the above method embodiments. The storagemedium may be a magnetic disk, an optical disc, a read-only memory(ROM), or a random access memory (RAM).

Finally, it should be noted that the above embodiments are merely usedfor illustrating rather than limiting the technical solutions of thepresent application. Although the present application is described indetail with reference to the foregoing embodiments, those of ordinaryskill in the art should understand that the technical solutionsspecified in the above embodiments can still be modified, or some or allof the technical features therein can be equivalently substituted; andsuch modifications or substitutions do not make the essence of thecorresponding technical solutions depart from the scope of the technicalsolutions of the embodiments of the present application.

1. A method for implementing multi-person video live streaming,comprising: obtaining a first video and a second video of a livestreamer, and obtaining a third video of any other live streaming memberthan the live streamer in a live streaming group, wherein the firstvideo comprises real-time images acquired by a first image capturingdevice associated with the live streamer, the second video comprises avideo that the live streamer is watching, and the third video comprisesreal-time images acquired by a second image capturing device associatedwith the any other live streaming member; stitching the first video, thesecond video, and the third video of the any other live streamingmember, and obtaining a multi-person live video stream, wherein eachframe of the multi-person live video stream comprises a frame of thefirst video, a frame of the second video, and a frame of the third videoof the any other live streaming member; and sending the multi-personlive video stream to respective live streaming client terminalsassociated with members in the live streaming group for the members towatch.
 2. The method of claim 1, further comprising: performing facialdetection on the first video and the third video during the stitching byusing a detection thread; and in response to detecting a face, rendingan area of the detected face by using a rendering thread.
 3. The methodof claim 1, wherein the second video is a type of dress changing video,and obtaining each frame of the multi-person live video streamcomprises: determining whether a respective timestamp of a frame in thesecond video to be stitched is a preset timestamp; in response todetermining that the respective timestamp of the frame in the secondvideo to be stitched is the preset timestamp, performing facialdetection on a frame in the first video to be stitched and a frame inthe third video to be stitched; in response to detecting a face, addinga preset sticker special effect to the detected face to obtain a videoframe to be stitched having the sticker special effect, wherein nosticker special effect is added to a video frame to be stitched when noface is detected; and stitching the frame in the second video to bestitched, the video frame having the sticker special effect, and thevideo frame having no sticker special effect, for obtaining a frame ofthe multi-person live video stream.
 4. The method of claim 1, whereinthe second video is a type of challenge video, and obtaining each frameof the multi-person live video stream comprises: performing expressionrecognition on a frame in the first video to be stitched and a frame inthe third video to be stitched; in response to determining that a presetexpression is recognized, adding a preset sticker special effect to avideo frame to be stitched, wherein no sticker special effect is addedto a video frame to be stitched when no preset expression is recognized;and stitching the frame in the second video to be stitched, the videoframe to be stitched having the sticker special effect, and the videoframe to be stitched having no sticker special effect, for obtaining aframe of the multi-person live video stream.
 5. The method of claim 1,wherein the second video is a type of story guessing video, andobtaining each frame of the multi-person live video stream comprises:detecting whether a story guessing message sent by any live streamingmember in the live streaming group is received; adding the storyguessing message to a frame in the second video to be stitched inresponse to detecting that the story guessing message sent by any livestreaming member in the live streaming group is received; and stitchingthe frame in the second video to be stitched comprising the storyguessing message, a frame in the first video to be stitched, and a framein the third video to be stitched, for obtaining a frame of themulti-person live video stream.
 6. The method of claim 1, furthercomprising: distributing the multi-person live video stream to a CDNnetwork.
 7. The method of claim 1, further comprising: reducing a bitrate of the multi-person live video stream.
 8. (canceled)
 9. A computerdevice, comprising a memory and a processor, wherein the memory storescomputer-readable operable on the processor, and wherein thecomputer-readable instructions, upon being executed by the processor,cause the processor to implement operations comprising: obtaining afirst video and a second video of a live streamer, and obtaining a thirdvideo of any other live streaming member than the live streamer in alive streaming group, wherein the first video comprises real-time imagesacquired by a first image capturing device associated with the livestreamer, the second video comprises a video that the live streamer iswatching, and the third video comprises real-time images acquired by asecond image capturing device associated with the any other livestreaming member; stitching the first video, the second video, and thethird video of the any other live streaming member, and obtaining amulti-person live video stream, wherein each frame of the multi-personlive video stream comprises a frame of the first video, a frame of thesecond video, and a frame of the third video of the any other livestreaming member; and sending the multi-person live video stream torespective live streaming client terminals associated with members inthe live streaming group for the members to watch.
 10. The computerdevice of claim 9, wherein the second video is a type of dress changingvideo, and the processor, upon executing the computer-readableinstructions, further implements operations comprising: determiningwhether a respective timestamp of a frame in the second video to bestitched is a preset timestamp; in response to determining that therespective timestamp of the frame in the second video to be stitched isthe preset timestamp, performing facial detection on a frame in thefirst video to be stitched and a frame in the third video to bestitched; in response to detecting a face, adding a preset stickerspecial effect to the detected face to obtain a video frame to bestitched having the sticker special effect, wherein no sticker specialeffect is added to a video frame to be stitched when no face isdetected; and stitching the frame in the second video to be stitched,the video frame having the sticker special effect, and the video framehaving no sticker special effect, for obtaining a frame of themulti-person live video stream.
 11. The computer device of claim 9,wherein the second video is a type of challenge video, and theprocessor, upon executing the computer-readable instructions, furtherimplements operations comprising: performing expression recognition on aframe in the first video to be stitched and a frame in the third videoto be stitched; in response to determining that a preset expression isrecognized, adding a preset sticker special effect to a video frame tobe stitched, wherein no sticker special effect is added to a video frameto be stitched when no preset expression is recognized; and stitchingthe frame in the second video to be stitched, the video frame to bestitched having the sticker special effect, and the video frame to bestitched having no sticker special effect, for obtaining a frame of themulti-person live video stream.
 12. The computer device of claim 9,wherein the second video is a type of story guessing video, and theprocessor, upon executing the computer-readable instructions, furtherimplements operations comprising: detecting whether a story guessingmessage sent by any live streaming member in the live streaming group isreceived; adding the story guessing message to a frame in the secondvideo to be stitched in response to detecting that the story guessingmessage sent by any live streaming member in the live streaming group isreceived; and stitching the frame in the second video to be stitchedcomprising the story guessing message, a frame in the first video to bestitched, and a frame in the third video to be stitched, for obtaining aframe of the multi-person live video stream.
 13. The computer device ofclaim 9, wherein the processor, upon executing the computer-readableinstructions, further implements operations comprising: distributing themulti-person live video stream to a CDN network.
 14. The computer deviceof claim 9, wherein the processor, upon executing the computer-readableinstructions, further implements operations comprising: reducing a bitrate of the multi-person live video stream.
 15. A non-transitorycomputer-readable storage medium storing computer-readable instructions,wherein the computer-readable instructions, upon being executed by aprocessor, cause the processor to implement operations comprising:obtaining a first video and a second video of a live streamer, andobtaining a third video of any other live streaming member than the livestreamer in a live streaming group, wherein the first video comprisesreal-time images acquired by a first image capturing device associatedwith the live streamer, the second video comprises a video that the livestreamer is watching, and the third video comprises real-time imagesacquired by a second image capturing device associated with the anyother live streaming member; stitching the first video, the secondvideo, and the third video of the any other live streaming member, andobtaining a multi-person live video stream, wherein each frame of themulti-person live video stream comprises a frame of the first video, aframe of the second video, and a frame of the third video of the anyother live streaming member; and sending the multi-person live videostream to respective live streaming client terminals associated withmembers in the live streaming group for the members to watch.
 16. Thenon-transitory computer-readable storage medium of claim 15, wherein thesecond video is a type of dress changing video, and the processor, uponexecuting the computer-readable instructions, further implementsoperations comprising: determining whether a respective timestamp of aframe in the second video to be stitched is a preset timestamp; inresponse to determining that the respective timestamp of the frame inthe second video to be stitched is the preset timestamp, performingfacial detection on a frame in the first video to be stitched and aframe in the third video to be stitched; in response to detecting aface, adding a preset sticker special effect to the detected face toobtain a video frame to be stitched having the sticker special effect,wherein no sticker special effect is added to a video frame to bestitched when no face is detected; and stitching the frame in the secondvideo to be stitched, the video frame having the sticker special effect,and the video frame having no sticker special effect, for obtaining aframe of the multi-person live video stream.
 17. The non-transitorycomputer-readable storage medium of claim 15, wherein the second videois a type of challenge video, and the processor, upon executing thecomputer-readable instructions, further implements operationscomprising: performing expression recognition on a frame in the firstvideo to be stitched and a frame in the third video to be stitched; inresponse to determining that a preset expression is recognized, adding apreset sticker special effect to a video frame to be stitched, whereinno sticker special effect is added to a video frame to be stitched whenno preset expression is recognized; and stitching the frame in thesecond video to be stitched, the video frame to be stitched having thesticker special effect, and the video frame to be stitched having nosticker special effect, for obtaining a frame of the multi-person livevideo stream.
 18. The non-transitory computer-readable storage medium ofclaim 15, wherein the second video is a type of story guessing video,and the processor, upon executing the computer-readable instructions,further implements operations comprising: detecting whether a storyguessing message sent by any live streaming member in the live streaminggroup is received; adding the story guessing message to a frame in thesecond video to be stitched in response to detecting that the storyguessing message sent by any live streaming member in the live streaminggroup is received; and stitching the frame in the second video to bestitched comprising the story guessing message, a frame in the firstvideo to be stitched, and a frame in the third video to be stitched, forobtaining a frame of the multi-person live video stream.
 19. Thenon-transitory computer-readable storage medium of claim 15, wherein theprocessor, upon executing the computer-readable instructions, furtherimplements operations comprising: distributing the multi-person livevideo stream to a CDN network.
 20. The non-transitory computer-readablestorage medium of claim 15, wherein the processor, upon executing thecomputer-readable instructions, further implements operationscomprising: reducing a bit rate of the multi-person live video stream.